package com.zhuoge.homework;

import java.util.Scanner;

public class ExceptionTest3 {
    public static void main(String[] args) {
        // 在主方法中输入三个整数
        System.out.println("请输入第1个整数：");
        int a = new Scanner(System.in).nextInt();
        System.out.println("请输入第2个整数：");
        int b = new Scanner(System.in).nextInt();
        System.out.println("请输入第3个整数：");
        int c = new Scanner(System.in).nextInt();

        // 在同一个包中，直接new对象进行方法调用
        isTriangle triangleChecker = new isTriangle();

        // 调用isTriangle方法来对输入的三角形进行判断
        try {
            if (!triangleChecker.isTriangle(a,b,c)){
                throw new IllegalArgumentException("不能组成三角形");
            }
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
    }
}

// 创建一个异常，继承父异常
class IllegalArgumentException extends Exception {
    public IllegalArgumentException() {
    }

    public IllegalArgumentException(String message) {
        super(message);
    }
}

// 创建一个类，用来实现三角形的判断方法
class isTriangle {
    boolean isTriangle(int a, int b, int c) {
        // 没有返回值，可以不使用布尔类型的变量
        // 进行三角形判断
        if (a > b && a > c) {
            if (b + c > a && a - b < c && a - c < b) {
                System.out.println("可以组成以" + a + "为最长边的三角形");
                return true;
            }
        } else if (b > a && b > c) {
            if (a + c > b && b - a < c && b - c < a) {
                System.out.println("可以组成以" + b + "为最长边的三角形");
                return true;
            }
        } else if (c > a && c > b) {
            if (a + b > c && c - a < b && c - b < a) {
                System.out.println("可以组成以" + c + "为最长边的三角形");
                return true;
            }
        }
        return false;
    }
}